feat:add video block menu

This commit is contained in:
Hufe921
2022-11-28 21:59:00 +08:00
parent 5ba1c02f1f
commit 9f924b4e0a
4 changed files with 48 additions and 13 deletions
+15 -4
View File
@@ -6,6 +6,7 @@ export interface IDialogData {
label?: string;
name: string;
value?: string;
options?: { label: string; value: string; }[];
placeholder?: string;
width?: number;
height?: number;
@@ -29,7 +30,7 @@ export class Dialog {
private options: IDialogOptions
private mask: HTMLDivElement | null
private container: HTMLDivElement | null
private inputList: (HTMLInputElement | HTMLTextAreaElement)[]
private inputList: (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement)[]
constructor(options: IDialogOptions) {
this.options = options
@@ -85,8 +86,16 @@ export class Dialog {
optionItemContainer.append(optionName)
}
// 选项输入框
let optionInput: HTMLInputElement | HTMLTextAreaElement
if (option.type === 'textarea') {
let optionInput: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement
if (option.type === 'select') {
optionInput = document.createElement('select')
option.options?.forEach(item => {
const optionItem = document.createElement('option')
optionItem.value = item.value
optionItem.label = item.label
optionInput.append(optionItem)
})
} else if (option.type === 'textarea') {
optionInput = document.createElement('textarea')
} else {
optionInput = document.createElement('input')
@@ -100,7 +109,9 @@ export class Dialog {
}
optionInput.name = option.name
optionInput.value = option.value || ''
optionInput.placeholder = option.placeholder || ''
if (!(optionInput instanceof HTMLSelectElement)) {
optionInput.placeholder = option.placeholder || ''
}
optionItemContainer.append(optionInput)
optionContainer.append(optionItemContainer)
this.inputList.push(optionInput)
+2 -1
View File
@@ -64,7 +64,8 @@
}
.dialog-option__item input,
.dialog-option__item textarea {
.dialog-option__item textarea,
.dialog-option__item select {
width: 276px;
height: 30px;
border-radius: 2px;