我目前正在使用sweetalert2从对话框中捕获用户的输入。我想在链接队列对话框中使用下拉列表,但我似乎无法找到在下拉列表中动态添加项目的方法。假设我想从JSON格式检索数据并放在下拉列表中,有没有办法做到这一点?
SELECT ..., StatusEffect, DateDiff('d',[StatusEffect],Date()) AS DaysActive, Yr, ...
以JSON格式检索数据:
#!/bin/bash
echo -n "DB Password: "
read -s PASSWORD
HOST=yourhostname.com
USER=youruser
DATABASE=yourdatabase
MAIN_TABLES=$(mysql -h $HOST -u $USER -p$PASSWORD -D $DATABASE -Bse "SHOW TABLES WHERE Tables_in_dashboard NOT LIKE 'bigtable_%';")
STATS_TABLES=$(mysql -h $HOST -u $USER -p$PASSWORD -D $DATABASE -Bse "SHOW TABLES LIKE 'bigtable_%';")
echo "Dumping structure..."
mysqldump -h $HOST -u $USER -p$PASSWORD $DATABASE --no-data | gzip > structure.sql.gz
echo "Dumping main data..."
mysqldump -h $HOST -u $USER -p$PASSWORD $DATABASE --no-create-info $MAIN_TABLES | gzip > data.sql.gz
echo "Dumping big table data..."
mysqldump -h $HOST -u $USER -p$PASSWORD $DATABASE --no-create-info $STATS_TABLES | gzip > big_table_data.sql.gz
答案 0 :(得分:3)
正如link所说,object
参数可以是Promise
或var inputOptionsPromise = new Promise(function (resolve) {
// get your data and pass it to resolve()
setTimeout(function () {
resolve({
'#FF0000': 'Red',
'#00FF00': 'Green',
'#0000FF': 'Blue'
})
}, 2000)
})
swal({
input: 'select',
inputOptions: inputOptionsPromise
})
。
要动态填充选择项,您应该使用promises,这是一个简单的例子:
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@7"></script>
inputOptions
注意,SweetAlert2会自动显示加载器,直到{{1}}参数的Promise被解析或拒绝。