diff --git a/superset-frontend/src/components/TableSelector.jsx b/superset-frontend/src/components/TableSelector.jsx
index 33d43d87ae4c6..634ac38fbe816 100644
--- a/superset-frontend/src/components/TableSelector.jsx
+++ b/superset-frontend/src/components/TableSelector.jsx
@@ -20,7 +20,7 @@ import React from 'react';
import styled from '@superset-ui/style';
import PropTypes from 'prop-types';
import rison from 'rison';
-import { Select, AsyncSelect } from 'src/components/Select';
+import { AsyncSelect, CreatableSelect, Select } from 'src/components/Select';
import { Label } from 'react-bootstrap';
import { t } from '@superset-ui/translation';
import { SupersetClient } from '@superset-ui/connection';
@@ -358,31 +358,49 @@ export default class TableSelector extends React.PureComponent {
tableSelectDisabled = true;
}
const options = this.state.tableOptions;
- const select = this.props.schema ? (
-
- ) : (
-
- );
+ let select = null;
+ if (this.props.schema && !this.props.formMode) {
+ select = (
+
+ );
+ } else if (this.props.formMode) {
+ select = (
+
+ );
+ } else {
+ select = (
+
+ );
+ }
const refresh = !this.props.formMode && (
this.changeSchema({ value: this.props.schema }, true)}
diff --git a/superset-frontend/src/views/datasetList/AddDatasetModal.tsx b/superset-frontend/src/views/datasetList/AddDatasetModal.tsx
index c13969c3c1104..c699520bb3f5e 100644
--- a/superset-frontend/src/views/datasetList/AddDatasetModal.tsx
+++ b/superset-frontend/src/views/datasetList/AddDatasetModal.tsx
@@ -73,7 +73,7 @@ const DatasetModal: FunctionComponent = ({
tableName: string;
}) => {
setDatasourceId(dbId);
- setDisableSave(isNil(dbId) || isEmpty(schema) || isEmpty(tableName));
+ setDisableSave(isNil(dbId) || isEmpty(tableName));
setSchema(schema);
setTableName(tableName);
};
@@ -83,7 +83,7 @@ const DatasetModal: FunctionComponent = ({
endpoint: '/api/v1/dataset/',
body: JSON.stringify({
database: datasourceId,
- schema: currentSchema,
+ ...(currentSchema ? { schema: currentSchema } : {}),
table_name: currentTableName,
}),
headers: { 'Content-Type': 'application/json' },