Cómo escribir HTML para contenido en vue design ant confirm

2022-6-13

Versión: v 2.x

hormiga de diseño vud: 1,78

Cuando se utiliza Ant Confirm, es el componente más utilizado. Mi página es la siguiente: cuando hace clic en Eliminar, aparecerá un mensaje de confirmación, como se muestra en la siguiente figura.

 

handleDel (params, index) {
            let _this = this
            _this.$confirm({
                title: `是否要删除该项?`,
                okText: '确定',
                cancelText: '取消',
                onOk () {
                   
                },
                onCancel () {
                    return false
                },
                class: 'test',
            })
},

Para confirmar, es muy simple, solo escriba un título, la configuración es como se muestra arriba, pero ahora quiero agregar información detallada, como el contenido del elemento que eliminé, para que la operación sea más intuitiva para los usuarios. Por ejemplo, como se muestra en la siguiente figura:

 En este momento, solo necesita agregar el contenido del elemento de configuración

contenido:cadena|vNodo|funcióni(h)

cadena: cadena, más comúnmente utilizada sin mucha explicación

función (h): contenido de sintaxis JSX, aquí puede escribir su propio contenido HTML. Por ejemplo, el siguiente contenido,

Nota: Las comillas de los atributos pueden ser simples o dobles. Al agregar variables, tenga en cuenta las llaves de una sola capa {}. El contenido de la variable puede ser los datos en la página vue o el valor devuelto en el método, etc. (Rara vez uso la función de renderizado para crear contenido. Sin embargo, se limita a una lógica que no es muy compleja)

let _this = this
 let a =100
let str="hello "
_this.$confirm({
    title: `是否要删除该项?`,
    okText: '确定',
    cancelText: '取消',
    content: h =>
        <div style='margin-top:20px'>
            我是内容{a},{str}
        </div>
    ,
    onOk () {
                    
    },
    onCancel () {
        return false
    }               
})

 

Este es el resultado de renderizar.

Entonces, ¿qué pasa si quieres agregar un fragmento de html?

En vue, si escribe dicho código en un método, como se muestra en la figura siguiente, si return es directamente un fragmento de html , entonces está en formato de sintaxis JSX, porque babel en el marco lo convierte automáticamente y luego coloca su método. En contenido, se puede generar una parte del contenido html. Mi lógica es la siguiente:

getDelContentHtml (params, index) {
            // 删除详情信息
            let _this = this
            if (params == 'Orderders') {
                return <div><div style="margin-top:20px">配置项:<span>Orderers</span></div>
                    <div>名称:<span>{_this.form[params][index].name}</span></div>
                    <div>IP:<span>{_this.form[params][index].ip}</span></div>
                </div>
            } else if (params == 'Companys') {
                return <div><div style="margin-top:20px">配置项:<span>记账主体</span></div>
                    <div>主体名称:<span>{_this.form[params][index].CompanyName}</span></div>
                </div>
            }
        },

 La configuración de confirmación modificada se centra en el contenido: h => ......... 

_this.$confirm({
                title: `是否要删除该项?`,
                okText: '确定',
                cancelText: '取消',
                content: h =>
                    <div style='margin-top:20px'>
                        {_this.getDelContentHtml(params, index)}  // 获取的Jsx值
                    </div>
                ,
                onOk () {
                    
                },
                onCancel () {
                    return false
                },
                class: 'test',
            })

 Resultados de renderizado

Finalmente, modifique el contenido de acuerdo con su lógica para generar el contenido que desea. Tenga en cuenta que en ese método, el retorno va seguido de un fragmento de código HTML. No es necesario agregar '', que se convertirá en una cadena. 

Lo anterior es la configuración del contenido de ant confirm, déjame repasarlo.

Supongo que te gusta

Origin blog.csdn.net/tdjqqq/article/details/125256653
Recomendado
Clasificación