如何设置显示的输入控制值与实际值不同

时间:2019-09-05 09:53:34

标签: angular input angular-material

我正在使用角形材料,并且我们有输入文字。目的是提出这样的数字:

  • 2 000.02
  • 3 000.00
  • 433 232 223.21

简而言之,我想用每3位数字显示空格值,但要后端,我想发送相同的值但没有空格。

到目前为止,我使用regexp每3位添加空格,并在ngOnDestroy上删除了它们。该组件必须这样做,因为在此过程中我有很多服务。这种方法行不通,因为首先发送帖子,然后导航和销毁组件,所以我仍然使用空格发送值。

想知道是否有解决此问题的聪明方法。诸如将输入的实际值与表示值,掩码或其他内容分开的东西。

2 个答案:

答案 0 :(得分:0)

为什么不处理val navigationView: NavigationView = findViewById(R.id.nv) val header: View = navigationView.getHeaderView(0) val teext: TextView = header.findViewById(R.id.profilename) teext.text = "eejfgjt" 上的空格,而为什么不使用调用服务的方法来处理呢?我建议您不要修改原始值,而是克隆原始对象,然后修改那个克隆的对象。这样,您就不必担心显示正确的格式。

   <?php
$args1 = array('category_name' => 'test-cat-1', 'order' => 'ASC');
$q1 = new WP_query($args);
if($q1->have_posts()) :
$firstPosts = array();
    while($q1->have_posts()) : $q1->the_post();
        $firstPosts[] = $post->ID; // add post id to array
        echo '<div class="item">';
        echo "<h2>" . get_the_title() . "</h2>";
        echo "</div>";
    endwhile;
endif;
/****************************************************************************/
// array of post id's collected in first loop, can now be used as value for the 'post__not_in' parameter in second loops query $args
$args2 = array('post__not_in' => $firstPosts, 'order' => 'ASC' );
$q2 = new WP_query($args2);
if($q2->have_posts()) :
    while($q2->have_posts()) : $q2->the_post();
        echo '<div class="item">';
        echo "<h2>" . get_the_title() . "</h2>";
        echo "</div>";
    endwhile;
endif;
?>

就像@Abdul提到的那样,更友好的解决方案是使用类似ngx-mask的东西。

答案 1 :(得分:0)

是的,有。使用accounting可以创建一个助手:

export function formatNumber(value) {
    return accounting.formatMoney(value, '', 0, ' ', '.');
}

export function unformatNumber(value) {
    return accounting.unformat(value);
}

您可以根据需要简单地调用format / unformat。

演示: https://stackblitz.com/edit/angular-jn5bkh?file=src/app/app.component.ts